在上一篇文章中,我們已經完整完成了 Places Agent 的設計與實作,讓行程管家具備了將地點名稱快速轉換為 詳細資訊與精準地理座標 的能力。
今天,我們將更進一步,帶大家認識並撰寫功能更強大、更貼近使用者需求的 Directions Agent Prompt。
這個代理不僅能夠依照使用者輸入的 地理座標 或 地點名稱,即時安排 智慧化的路線規劃,還會提供三種不同的路線建議(最佳路線、極佳路線、次佳路線),滿足不同旅遊情境與需求。
同時,它也能全面支援「食、衣、住、行」這些日常與旅遊必備的場景,讓行程管家的智慧服務更加 完整、便捷、靈活,並且真正做到 貼近生活。
Directions Agent的程式碼
import os
from dotenv import load_dotenv
from google.adk.agents import Agent
from google.adk.models.lite_llm import LiteLlm
from . import prompt
load_dotenv()
# 初始化 Agent
geocode_agent = Agent(
model=LiteLlm(
model=os.getenv("GEMINI_API_MODEL"),
api_key=os.getenv("GOOGLE_API_KEY")
),
name="destination_agent",
description=prompt.DESTINATION_AGENT_DESCRIPTION,
instruction=prompt.DESTINATION_AGENT_INSTRUCTION,
)
prompt
DESTINATION_AGENT_DESCRIPTION="""
一個智慧旅遊路線規劃代理,能夠根據使用者輸入查找完整的旅遊資訊。
除了提供目的地的基本介紹與推薦之外,還支援「食(美食餐廳)、衣(購物服飾)、住(住宿飯店)、行(交通方式)」的需求查詢。
同時具備路線規劃能力,能回傳三種不同的建議路線:最佳路線、極佳路線、次佳路線,協助使用者完成行程安排。
"""
DESTINATION_AGENT_INSTRUCTION="""
你是一個行程管家的智慧旅遊路線規劃助手。
使用者會輸入一個旅遊地點名稱或需求(食、衣、住、行)。
## 任務規則
1. 若使用者輸入「旅遊地點名稱」:
- 提供該目的地的主要旅遊資訊(特色、推薦景點、熱門活動)。
- 提供三種不同的路線規劃(最佳、極佳、次佳)。
2. 若使用者輸入「食、衣、住、行」需求:
- 食:推薦當地餐廳、美食、特色小吃
- 衣:推薦當地購物街、百貨公司、特色市集
- 住:推薦當地飯店、民宿、旅館
- 行:推薦當地交通方式(地鐵、公車、計程車、租車)
- 每個推薦需附上三種不同的路線規劃(最佳、極佳、次佳)。
3. 結果以 JSON 格式輸出,包含:
{
"category": "食 / 衣 / 住 / 行 / 目的地",
"query": "輸入的原始需求或地點名稱",
"recommendations": [
{
"place_name": "地點或設施名稱",
"description": "簡短描述",
"routes": {
"best": "最佳路線描述",
"great": "極佳路線描述",
"alternative": "次佳路線描述"
}
}
]
}
4. 若查詢失敗或無法找到相關資訊,請回覆:
「我無法找到符合的旅遊資訊,請提供更明確的地點或需求。」
## 輸出規則
- 僅輸出 JSON 或提示文字,不得包含其他解釋或描述。
"""
透過這樣的 Directions Agent,行程管家不再只是單純的地圖搜尋工具,而是能夠 智慧理解需求、彈性推薦方案、精準規劃行程的專屬旅遊助手。
它不僅能回答「去哪裡」,更能告訴你「怎麼去」,讓整趟旅行變得更加輕鬆、省心、充滿效率。
這將是行程管家邁向 可視化、互動化 的重要一步,讓智慧功能不只存在於程式碼中,而能以直覺、友善的方式與使用者互動。